package cn.cleanarch.infra.idp.pms.dao.repository;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.cleanarch.infra.idp.pms.dao.mapper.DesignFileVersionMapper;
import cn.cleanarch.infra.idp.pms.domain.entity.DesignFileVersion;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 设计文件版本Repository类
 */
@Component
public class DesignFileVersionRepository extends ServiceImpl<DesignFileVersionMapper, DesignFileVersion> implements IService<DesignFileVersion> {
    
    /**
     * 根据文件ID获取所有版本
     * @param fileId 文件ID
     * @return 版本列表
     */
    public List<DesignFileVersion> getVersionsByFileId(Long fileId) {
        return this.baseMapper.getVersionsByFileId(fileId);
    }

    /**
     * 根据文件ID和版本号获取特定版本
     * @param fileId 文件ID
     * @param versionNumber 版本号
     * @return 版本信息
     */
    public DesignFileVersion getVersionByFileIdAndVersionNumber(Long fileId, String versionNumber) {
        return this.baseMapper.getVersionByFileIdAndVersionNumber(fileId, versionNumber);
    }
}